package done.easy_301_400;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 371. Sum of Two Integers
 * 不使用运算符 + 和 - ​​​​​​​，计算两整数 ​​​​​​​a 、b ​​​​​​​之和。
 * <p>
 * 示例 1:
 * 输入: a = 1, b = 2
 * 输出: 3
 * <p>
 * 先异或，再与，然后左移 1 位
 * 用异或算不带进位的和，用与(&)并左移(<<)1位来算进位，
 * 然后把两者加起来即可
 * <p>
 * 2019-03-24 10:31 PM
 **/
@Slf4j
public class SumOfTwoIntegers {

    @SuppressWarnings("all")
    public int getSum(int a, int b) {
        // 190408 first
        return -1;
    }

    @Test
    public void test() {
        log.info("result:{}", getSum(1, 2));
    }
}




























/*
public int getSum(int a, int b) {
    if (b == 0) return a;
    int sum = a ^ b;
    int carry = (a & b) << 1;
    return getSum(sum, carry);
}
*/
